// miniprogram/pages/addProduct/addProduct.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        accounts: ["食品", "日用", "服饰", "电器"],
        accountIndex: 0,
        product_parameter: [],
        parameter_name: '',
        parameter_num: '',
        parameter_price: '',
        detail_img: [],
        show_img: [],
        upload_detail_img: [],
        upload_show_img: []
    },
    bindAccountChange: function(e) {
        //type   10:食品    11：日用   12：服饰  13：电器
        this.setData({
            accountIndex: e.detail.value
        })
    },
    addParameterObj(e) {
        let data = e.detail.value;
        let tmpObj = {
            name: data.parameter_name,
            num: data.parameter_num,
            price: data.parameter_price
        }
        let len = this.data.product_parameter.length
        let tmp = `product_parameter[${len}]`
        this.setData({
            [tmp]: tmpObj,
            parameter_name: '',
            parameter_num: '',
            parameter_price: ''
        })
    },
    cancel(e) {
        let index = e.currentTarget.dataset.index;
        let tmp = this.data.product_parameter
        tmp.splice(index, 1);
        this.setData({
            product_parameter: tmp
        })
    },
    chooseImage: function(e) {
        let type = e.currentTarget.dataset.type;
        var that = this;
        wx.chooseImage({
            sizeType: ['compressed'], // 可以指定是原图还是压缩图，默认二者都有
            sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
            success: function(res) {
                wx.showLoading({
                    mask: true
                })
                // 返回选定照片的本地文件路径列表，tempFilePath可以作为img标签的src属性显示图片
                that.setData({
                    [type]: that.data[type].concat(res.tempFilePaths)
                });
                wx.cloud.uploadFile({
                    cloudPath: '' + Date.parse(new Date()), // 上传至云端的路径
                    filePath: res.tempFilePaths[0], // 小程序临时文件路径
                    success: res => {
                        let path = `upload_${type}`
                        console.log(res.fileID)
                        // 返回文件 ID
                        that.setData({
                            [path]: that.data[path].concat(res.fileID)
                        })
                        wx.hideLoading()
                        wx.showToast({
                            title: '上传成功',
                        })
                    },
                    fail: error => {
                        wx.showToast({
                            title: error,
                        })
                        console.error
                    }
                })
            }
        })
    },
    previewImage: function(e) {
        wx.previewImage({
            current: e.currentTarget.id, // 当前显示图片的http链接
            urls: this.data.files // 需要预览的图片http链接列表
        })
    },
    onLoad: function(options) {

    },
    formSubmit(e) {
        //type   10:食品    11：日用   12：服饰  13：电器
        let data = e.detail.value;
        let upData = {
            desc: data.desc,
            name: data.name,
            product_type: parseInt(parseInt(data.product_type) + 10),
            detail_img: this.data.upload_detail_img,
            show_img: this.data.upload_show_img,
            listed_date: new Date(),
            saledNum: 0,
            parameter: this.data.product_parameter
        }
        console.log(upData)
        wx.showLoading({
            title: '',
            mask: true
        })
        const db = wx.cloud.database()
        db.collection('product_list').add({
            data: upData,
            success: res => {
                // 在返回结果中会包含新创建的记录的 _id
                wx.hideLoading()
                wx.showToast({
                    title: '新增商品成功',
                })
                console.log('[数据库] [新增记录] 成功，记录 _id: ', res._id)
                wx: wx.reLaunch({
                    url: '/pages/home/home',
                })
            },
            fail: err => {
                wx.showToast({
                    icon: 'none',
                    title: '新增记录失败'
                })
                console.error('[数据库] [新增记录] 失败：', err)
            }
        })
    },
})